/**
 * @fileoverview
 *
 * @see https://github.com/colorjs/color-name/blob/master/index.js
 * @license MIT
 */

type RGBVec3 = [number, number, number];

/**
 * css color names in u8 range
 * `{name: [r255, g255, b255]}`
 */
const colors = {
  aliceblue: <RGBVec3>[240, 248, 255],
  antiquewhite: <RGBVec3>[250, 235, 215],
  aqua: <RGBVec3>[0, 255, 255],
  aquamarine: <RGBVec3>[127, 255, 212],
  azure: <RGBVec3>[240, 255, 255],
  beige: <RGBVec3>[245, 245, 220],
  bisque: <RGBVec3>[255, 228, 196],
  black: <RGBVec3>[0, 0, 0],
  blanchedalmond: <RGBVec3>[255, 235, 205],
  blue: <RGBVec3>[0, 0, 255],
  blueviolet: <RGBVec3>[138, 43, 226],
  brown: <RGBVec3>[165, 42, 42],
  burlywood: <RGBVec3>[222, 184, 135],
  cadetblue: <RGBVec3>[95, 158, 160],
  chartreuse: <RGBVec3>[127, 255, 0],
  chocolate: <RGBVec3>[210, 105, 30],
  coral: <RGBVec3>[255, 127, 80],
  cornflowerblue: <RGBVec3>[100, 149, 237],
  cornsilk: <RGBVec3>[255, 248, 220],
  crimson: <RGBVec3>[220, 20, 60],
  cyan: <RGBVec3>[0, 255, 255],
  darkblue: <RGBVec3>[0, 0, 139],
  darkcyan: <RGBVec3>[0, 139, 139],
  darkgoldenrod: <RGBVec3>[184, 134, 11],
  darkgray: <RGBVec3>[169, 169, 169],
  darkgreen: <RGBVec3>[0, 100, 0],
  darkgrey: <RGBVec3>[169, 169, 169],
  darkkhaki: <RGBVec3>[189, 183, 107],
  darkmagenta: <RGBVec3>[139, 0, 139],
  darkolivegreen: <RGBVec3>[85, 107, 47],
  darkorange: <RGBVec3>[255, 140, 0],
  darkorchid: <RGBVec3>[153, 50, 204],
  darkred: <RGBVec3>[139, 0, 0],
  darksalmon: <RGBVec3>[233, 150, 122],
  darkseagreen: <RGBVec3>[143, 188, 143],
  darkslateblue: <RGBVec3>[72, 61, 139],
  darkslategray: <RGBVec3>[47, 79, 79],
  darkslategrey: <RGBVec3>[47, 79, 79],
  darkturquoise: <RGBVec3>[0, 206, 209],
  darkviolet: <RGBVec3>[148, 0, 211],
  deeppink: <RGBVec3>[255, 20, 147],
  deepskyblue: <RGBVec3>[0, 191, 255],
  dimgray: <RGBVec3>[105, 105, 105],
  dimgrey: <RGBVec3>[105, 105, 105],
  dodgerblue: <RGBVec3>[30, 144, 255],
  firebrick: <RGBVec3>[178, 34, 34],
  floralwhite: <RGBVec3>[255, 250, 240],
  forestgreen: <RGBVec3>[34, 139, 34],
  fuchsia: <RGBVec3>[255, 0, 255],
  gainsboro: <RGBVec3>[220, 220, 220],
  ghostwhite: <RGBVec3>[248, 248, 255],
  gold: <RGBVec3>[255, 215, 0],
  goldenrod: <RGBVec3>[218, 165, 32],
  gray: <RGBVec3>[128, 128, 128],
  green: <RGBVec3>[0, 128, 0],
  greenyellow: <RGBVec3>[173, 255, 47],
  grey: <RGBVec3>[128, 128, 128],
  honeydew: <RGBVec3>[240, 255, 240],
  hotpink: <RGBVec3>[255, 105, 180],
  indianred: <RGBVec3>[205, 92, 92],
  indigo: <RGBVec3>[75, 0, 130],
  ivory: <RGBVec3>[255, 255, 240],
  khaki: <RGBVec3>[240, 230, 140],
  lavender: <RGBVec3>[230, 230, 250],
  lavenderblush: <RGBVec3>[255, 240, 245],
  lawngreen: <RGBVec3>[124, 252, 0],
  lemonchiffon: <RGBVec3>[255, 250, 205],
  lightblue: <RGBVec3>[173, 216, 230],
  lightcoral: <RGBVec3>[240, 128, 128],
  lightcyan: <RGBVec3>[224, 255, 255],
  lightgoldenrodyellow: <RGBVec3>[250, 250, 210],
  lightgray: <RGBVec3>[211, 211, 211],
  lightgreen: <RGBVec3>[144, 238, 144],
  lightgrey: <RGBVec3>[211, 211, 211],
  lightpink: <RGBVec3>[255, 182, 193],
  lightsalmon: <RGBVec3>[255, 160, 122],
  lightseagreen: <RGBVec3>[32, 178, 170],
  lightskyblue: <RGBVec3>[135, 206, 250],
  lightslategray: <RGBVec3>[119, 136, 153],
  lightslategrey: <RGBVec3>[119, 136, 153],
  lightsteelblue: <RGBVec3>[176, 196, 222],
  lightyellow: <RGBVec3>[255, 255, 224],
  lime: <RGBVec3>[0, 255, 0],
  limegreen: <RGBVec3>[50, 205, 50],
  linen: <RGBVec3>[250, 240, 230],
  magenta: <RGBVec3>[255, 0, 255],
  maroon: <RGBVec3>[128, 0, 0],
  mediumaquamarine: <RGBVec3>[102, 205, 170],
  mediumblue: <RGBVec3>[0, 0, 205],
  mediumorchid: <RGBVec3>[186, 85, 211],
  mediumpurple: <RGBVec3>[147, 112, 219],
  mediumseagreen: <RGBVec3>[60, 179, 113],
  mediumslateblue: <RGBVec3>[123, 104, 238],
  mediumspringgreen: <RGBVec3>[0, 250, 154],
  mediumturquoise: <RGBVec3>[72, 209, 204],
  mediumvioletred: <RGBVec3>[199, 21, 133],
  midnightblue: <RGBVec3>[25, 25, 112],
  mintcream: <RGBVec3>[245, 255, 250],
  mistyrose: <RGBVec3>[255, 228, 225],
  moccasin: <RGBVec3>[255, 228, 181],
  navajowhite: <RGBVec3>[255, 222, 173],
  navy: <RGBVec3>[0, 0, 128],
  oldlace: <RGBVec3>[253, 245, 230],
  olive: <RGBVec3>[128, 128, 0],
  olivedrab: <RGBVec3>[107, 142, 35],
  orange: <RGBVec3>[255, 165, 0],
  orangered: <RGBVec3>[255, 69, 0],
  orchid: <RGBVec3>[218, 112, 214],
  palegoldenrod: <RGBVec3>[238, 232, 170],
  palegreen: <RGBVec3>[152, 251, 152],
  paleturquoise: <RGBVec3>[175, 238, 238],
  palevioletred: <RGBVec3>[219, 112, 147],
  papayawhip: <RGBVec3>[255, 239, 213],
  peachpuff: <RGBVec3>[255, 218, 185],
  peru: <RGBVec3>[205, 133, 63],
  pink: <RGBVec3>[255, 192, 203],
  plum: <RGBVec3>[221, 160, 221],
  powderblue: <RGBVec3>[176, 224, 230],
  purple: <RGBVec3>[128, 0, 128],
  rebeccapurple: <RGBVec3>[102, 51, 153],
  red: <RGBVec3>[255, 0, 0],
  rosybrown: <RGBVec3>[188, 143, 143],
  royalblue: <RGBVec3>[65, 105, 225],
  saddlebrown: <RGBVec3>[139, 69, 19],
  salmon: <RGBVec3>[250, 128, 114],
  sandybrown: <RGBVec3>[244, 164, 96],
  seagreen: <RGBVec3>[46, 139, 87],
  seashell: <RGBVec3>[255, 245, 238],
  sienna: <RGBVec3>[160, 82, 45],
  silver: <RGBVec3>[192, 192, 192],
  skyblue: <RGBVec3>[135, 206, 235],
  slateblue: <RGBVec3>[106, 90, 205],
  slategray: <RGBVec3>[112, 128, 144],
  slategrey: <RGBVec3>[112, 128, 144],
  snow: <RGBVec3>[255, 250, 250],
  springgreen: <RGBVec3>[0, 255, 127],
  steelblue: <RGBVec3>[70, 130, 180],
  tan: <RGBVec3>[210, 180, 140],
  teal: <RGBVec3>[0, 128, 128],
  thistle: <RGBVec3>[216, 191, 216],
  tomato: <RGBVec3>[255, 99, 71],
  turquoise: <RGBVec3>[64, 224, 208],
  violet: <RGBVec3>[238, 130, 238],
  wheat: <RGBVec3>[245, 222, 179],
  white: <RGBVec3>[255, 255, 255],
  whitesmoke: <RGBVec3>[245, 245, 245],
  yellow: <RGBVec3>[255, 255, 0],
  yellowgreen: <RGBVec3>[154, 205, 50],
} as const;

for (const key in colors) Object.freeze(colors[key as keyof typeof colors]);
export default Object.freeze(colors);
